package org.jeecg.modules.thirdpartyapi.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import org.jeecg.modules.syncdata.entity.SyncLog;
import org.jeecg.modules.syncdata.entity.SyncResult;
import org.jeecg.modules.thirdpartyapi.dto.PullDto;
import org.jeecg.modules.thirdpartyapi.dto.SyncLogDto;

import java.util.List;
import java.util.Map;

/**
 * bg服务
 *
 * @author zhanglei01
 * @date 2022/03/16
 */
public interface BgService {

    /**
     * 查询更新
     *
     * @param tableInfo 表信息
     * @param dto       dto
     * @return {@link IPage}<{@link Map}<{@link String}, {@link Object}>>
     */
    IPage<Map<String, Object>> pullDataByUpdate(TableInfo tableInfo, PullDto dto);

    /**
     * 保存同步日志
     *
     * @param syncLogs 同步日志
     * @return {@link Boolean}
     */
    Boolean saveSyncLog(List<SyncLog> syncLogs);

    /**
     * 保存同步结果
     *
     * @param syncResults 同步的结果
     * @return {@link Boolean}
     */
    Boolean saveSyncResult(List<SyncResult> syncResults);

}
